package com.cs.framework.web.view;

import java.util.LinkedHashMap;
import java.util.Map;

import com.cs.framework.common.util.ReflectUtils;

/**
 * 视图数据
 * 
 * @author hedongzhou
 * 
 */
public class ViewData extends LinkedHashMap<String, Object> {

	private static final long serialVersionUID = 8357183329095747327L;

	public ViewData() {
	}

	/**
	 * 添加属性
	 * 
	 * @param key
	 * @param value
	 */
	public void addAttribute(String key, Object value) {
		put(key, value);
	}

	/**
	 * 添加属性
	 * 
	 * @param map
	 */
	public void addAttribute(Map<String, Object> map) {
		putAll(map);
	}

	/**
	 * 添加属性
	 * 
	 * @param obj
	 */
	public void addAttribute(Object obj) {
		Map<String, Object> map = ReflectUtils.getFieldValue(obj);
		addAttribute(map);
	}

	/**
	 * 获取属性
	 * 
	 * @param key
	 * @return
	 */
	public Object getAttribute(String key) {
		return get(key);
	}

	/**
	 * 是否包含此属性
	 * 
	 * @param key
	 * @return
	 */
	public boolean containsAttribute(String key) {
		return containsKey(key);
	}

}
